package service;

import java.util.HashMap;
import java.util.Map;

/**
 * 图书馆业务逻辑服务类。
 */
public class LibraryService {
    // 示例：模拟用户数据
    private static final Map<String, String> users = new HashMap<>();

    static {
        users.put("admin", "123456");
        users.put("user1", "password1");
    }

    /**
     * 验证用户身份。
     * @param username 用户名
     * @param password 密码
     * @return 是否验证成功
     */
    public boolean validateUser(String username, String password) {
        return users.containsKey(username) && users.get(username).equals(password);
    }

    /**
     * 借阅资源。
     * @param resourceId 资源ID
     * @param borrowerId 借阅者ID
     * @return 操作结果
     */
    public String borrowResource(String resourceId, String borrowerId) {
        // 实际业务逻辑（示例）
        return "资源 " + resourceId + " 已借给 " + borrowerId;
    }

    /**
     * 归还资源。
     * @param resourceId 资源ID
     * @param borrowerId 借阅者ID
     * @return 操作结果
     */
    public String returnResource(String resourceId, String borrowerId) {
        // 实际业务逻辑（示例）
        return "资源 " + resourceId + " 已由 " + borrowerId + " 归还";
    }

    /**
     * 查询资源信息。
     * @param resourceId 资源ID
     * @return 查询结果
     */
    public String queryResource(String resourceId) {
        // 实际业务逻辑（示例）
        return "资源ID: " + resourceId + "，状态：可借阅";
    }

    /**
     * 查询借阅者信息。
     * @param borrowerId 借阅者ID
     * @return 查询结果
     */
    public String queryBorrower(String borrowerId) {
        // 实际业务逻辑（示例）
        return "借阅者ID: " + borrowerId + "，当前借阅数量：0";
    }

    /**
     * 列出所有资源。
     * @return 资源列表
     */
    public String listAllResources() {
        // 实际业务逻辑（示例）
        return "资源列表：\n- 资源A\n- 资源B\n- 资源C";
    }

    /**
     * 列出所有借阅者。
     * @return 借阅者列表
     */
    public String listAllBorrowers() {
        // 实际业务逻辑（示例）
        return "借阅者列表：\n- 借阅者X\n- 借阅者Y";
    }
}
